package com.bawei.module_play.state

import com.bawei.lib_common.state.BaseUiStatus
import com.bawei.module_play.entriy.AuthorEntriy
import com.bawei.module_play.entriy.CommendEntity
import com.bawei.module_play.entriy.CommentEntriyItem
import com.bawei.module_play.entriy.DanmuEntity
import com.bawei.module_play.entriy.MovieVideoEntity
import com.bawei.module_play.entriy.MovieVideoEntityItem
import com.bawei.module_play.entriy.SimpleVideoEntity

sealed class PlayVideoState :BaseUiStatus() {


    object LoadEmpty: PlayVideoState()

    data class LoadAuthorSuccess(val entity: AuthorEntriy): PlayVideoState()
    data class LoadAuthorFail(val errorMsg: String): PlayVideoState()

    data class LoadSimpleVideoSuccess(val list: List<SimpleVideoEntity>): PlayVideoState()
    data class LoadSimpleVideoFail(val errorMsg: String): PlayVideoState()

    data class LoadMultiVideoSuccess(val list: List<MovieVideoEntityItem>): PlayVideoState()
    data class LoadMultiVideoFail(val errorMsg: String): PlayVideoState()

    data class LoadVideoCommentSuccess(val list: List<CommentEntriyItem>): PlayVideoState()
    data class LoadVideoCommentFail(val errorMsg: String): PlayVideoState()

    data class PublishVideoCommentSuccess(val content: CommendEntity): PlayVideoState()
    data class PublishVideoCommentFail(val errorMsg: String): PlayVideoState()

    data class PublishVideoDanmuSuccess(val content: String): PlayVideoState()
    data class PublishVideoDanmuFail(val errorMsg: String): PlayVideoState()

    data class LoadVideoDanmuSuccess(val list: List<DanmuEntity>): PlayVideoState()
    data class LoadVideoDanmuFail(val errorMsg: String): PlayVideoState()
}